package com.klikmee.sms.core.ws.mts.listener;

import java.util.Date;

import com.klikmee.sms.core.ws.mts.listener.msgnotification.DeliveryStatus;
import com.klikmee.sms.core.ws.mts.listener.msgnotification.MessagePriority;
import com.klikmee.sms.core.ws.mts.listener.smsnotification.DeliveryInformation;
import com.klikmee.sms.core.ws.mts.listener.smsnotification.SmsMessage;
import com.klikmee.sms.core.ws.mts.listener.subscription.ServiceException_Exception;
import com.klikmee.sms.core.ws.mts.listener.subscription.SubscriptionDetail;

public interface MTSCommunicator {

	void onDeliveryReceipt( String correlator, DeliveryInformation deliveryStatus );

	void onSmsReception( String correlator, SmsMessage message );

	void receiveUnsubscription( String msisdn, String serviceId, String distributionList );

	SubscriptionDetail getSubscriptionDetail( String serviceId, String message ) throws ServiceException_Exception ;

	void triggerService( String serviceId, String distributionList );

	void receiveSubscription( String msisdn, String serviceId, String distributionList, Date validTo );

	void receiveSubscriptionExtension( String msisdn, String serviceId, String distributionList, Date gregorianTime );

	void notifyMessageReception( String correlator, String messageIdentifier, String message, Date time, String messageServiceActivationNumber, String senderAddress, String subject, MessagePriority priority );

	void notifyMessageDeliveryReceipt( String correlator, String address, DeliveryStatus deliveryStatus );
	
}
